﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface IGeoObject
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface IGeoObject
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="CADability.GeoObject.IGeoObject">
  
  
  <h1 id="CADability_GeoObject_IGeoObject" data-uid="CADability.GeoObject.IGeoObject" class="text-break">Interface IGeoObject
  </h1>
  <div class="markdown level0 summary"><p>IGeoObject is the interface that all geometric entities must support
(see <a href="c90ccd0b-e1de-4859-8d4d-20e516a766cd.htm">GeoObject</a>).</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="CADability.Attribute.ILayer.html#CADability_Attribute_ILayer_Layer">ILayer.Layer</a>
    </div>
    <div>
      <a class="xref" href="CADability.Attribute.IStyle.html#CADability_Attribute_IStyle_Style">IStyle.Style</a>
    </div>
    <div>
      <a class="xref" href="CADability.IOctTreeInsertable.html#CADability_IOctTreeInsertable_GetExtent_System_Double_">IOctTreeInsertable.GetExtent(Double)</a>
    </div>
    <div>
      <a class="xref" href="CADability.IOctTreeInsertable.html#CADability_IOctTreeInsertable_HitTest_CADability_BoundingCube__System_Double_">IOctTreeInsertable.HitTest(BoundingCube, Double)</a>
    </div>
    <div>
      <a class="xref" href="CADability.IOctTreeInsertable.html#CADability_IOctTreeInsertable_HitTest_CADability_Projection_CADability_BoundingRect_System_Boolean_">IOctTreeInsertable.HitTest(Projection, BoundingRect, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="CADability.IOctTreeInsertable.html#CADability_IOctTreeInsertable_HitTest_CADability_Projection_PickArea_System_Boolean_">IOctTreeInsertable.HitTest(Projection.PickArea, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="CADability.IOctTreeInsertable.html#CADability_IOctTreeInsertable_Position_CADability_GeoPoint_CADability_GeoVector_System_Double_">IOctTreeInsertable.Position(GeoPoint, GeoVector, Double)</a>
    </div>
    <div>
      <span class="xref">System.IComparable.CompareTo(System.Object)</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CADability.GeoObject.html">CADability.GeoObject</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="CADability_GeoObject_IGeoObject_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IGeoObject : ILayer, IStyle, IOctTreeInsertable, IComparable</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Actuator.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Actuator%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L467">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Actuator_" data-uid="CADability.GeoObject.IGeoObject.Actuator*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Actuator" data-uid="CADability.GeoObject.IGeoObject.Actuator">Actuator</h4>
  <div class="markdown level1 summary"><p>Gets or sets an actuator or drive that defines the mechanical constraint or degree of freedom for this object
Used for animation, static objects dont have an actuator (null)</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IDrive Actuator { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IDrive.html">IDrive</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Attributes.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Attributes%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L392">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Attributes_" data-uid="CADability.GeoObject.IGeoObject.Attributes*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Attributes" data-uid="CADability.GeoObject.IGeoObject.Attributes">Attributes</h4>
  <div class="markdown level1 summary"><p>Gets all attributes that this GeoObject posesses.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">INamedAttribute[] Attributes { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.INamedAttribute.html">INamedAttribute</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_CustomAttributeKeys.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.CustomAttributeKeys%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L396">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_CustomAttributeKeys_" data-uid="CADability.GeoObject.IGeoObject.CustomAttributeKeys*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_CustomAttributeKeys" data-uid="CADability.GeoObject.IGeoObject.CustomAttributeKeys">CustomAttributeKeys</h4>
  <div class="markdown level1 summary"><p>Gets all custom attributes attached to this object</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string[] CustomAttributeKeys { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Description.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Description%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L428">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Description_" data-uid="CADability.GeoObject.IGeoObject.Description*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Description" data-uid="CADability.GeoObject.IGeoObject.Description">Description</h4>
  <div class="markdown level1 summary"><p>Returns a description of the GeoObject which is used in the control center</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string Description { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>a short description</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_IsVisible.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.IsVisible%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L455">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_IsVisible_" data-uid="CADability.GeoObject.IGeoObject.IsVisible*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_IsVisible" data-uid="CADability.GeoObject.IGeoObject.IsVisible">IsVisible</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsVisible { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_NumChildren.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.NumChildren%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L274">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_NumChildren_" data-uid="CADability.GeoObject.IGeoObject.NumChildren*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_NumChildren" data-uid="CADability.GeoObject.IGeoObject.NumChildren">NumChildren</h4>
  <div class="markdown level1 summary"><p>Returns the number of children the GeoObject has. Simple GeoObjects (like <a class="xref" href="CADability.GeoObject.Line.html">Line</a>)
dont have children.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int NumChildren { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_OwnedItems.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.OwnedItems%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L454">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_OwnedItems_" data-uid="CADability.GeoObject.IGeoObject.OwnedItems*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_OwnedItems" data-uid="CADability.GeoObject.IGeoObject.OwnedItems">OwnedItems</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IGeoObject[] OwnedItems { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.IGeoObject.html">IGeoObject</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Owner.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Owner%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L285">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Owner_" data-uid="CADability.GeoObject.IGeoObject.Owner*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Owner" data-uid="CADability.GeoObject.IGeoObject.Owner">Owner</h4>
  <div class="markdown level1 summary"><p>Returns the owner of this GeoObject. Each GeoObject has only one owner.
This might be a <a class="xref" href="CADability.Model.html">Model</a> or a GeoObject derived from <a class="xref" href="CADability.GeoObject.Block.html">Block</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IGeoObjectOwner Owner { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.IGeoObjectOwner.html">IGeoObjectOwner</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_PreferredStyle.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.PreferredStyle%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L451">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_PreferredStyle_" data-uid="CADability.GeoObject.IGeoObject.PreferredStyle*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_PreferredStyle" data-uid="CADability.GeoObject.IGeoObject.PreferredStyle">PreferredStyle</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Style.EDefaultFor PreferredStyle { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Attribute.Style.EDefaultFor.html">Style.EDefaultFor</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_UniqueId.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.UniqueId%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L450">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_UniqueId_" data-uid="CADability.GeoObject.IGeoObject.UniqueId*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_UniqueId" data-uid="CADability.GeoObject.IGeoObject.UniqueId">UniqueId</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int UniqueId { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_UserData.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.UserData%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L346">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_UserData_" data-uid="CADability.GeoObject.IGeoObject.UserData*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_UserData" data-uid="CADability.GeoObject.IGeoObject.UserData">UserData</h4>
  <div class="markdown level1 summary"><p>Gets the user data collection for this GeoObject. This is the way to connect your own
objects with a GeoObject. See <a class="xref" href="CADability.GeoObject.IGeoObject.html#CADability_GeoObject_IGeoObject_UserData">UserData</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">UserData UserData { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UserData.html">UserData</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_AttributeChanged_CADability_INamedAttribute_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.AttributeChanged(CADability.INamedAttribute)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L402">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_AttributeChanged_" data-uid="CADability.GeoObject.IGeoObject.AttributeChanged*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_AttributeChanged_CADability_INamedAttribute_" data-uid="CADability.GeoObject.IGeoObject.AttributeChanged(CADability.INamedAttribute)">AttributeChanged(INamedAttribute)</h4>
  <div class="markdown level1 summary"><p>This method is called to notify the object of an attribute that changed some of
its properties. The objects returns true, if it needs to be repainted.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool AttributeChanged(INamedAttribute attribute)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.INamedAttribute.html">INamedAttribute</a></td>
        <td><span class="parametername">attribute</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Child_System_Int32_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Child(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L280">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Child_" data-uid="CADability.GeoObject.IGeoObject.Child*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Child_System_Int32_" data-uid="CADability.GeoObject.IGeoObject.Child(System.Int32)">Child(Int32)</h4>
  <div class="markdown level1 summary"><p>Returns the child with the given index. See <a class="xref" href="CADability.GeoObject.IGeoObject.html#CADability_GeoObject_IGeoObject_HasChildren">HasChildren()</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IGeoObject Child(int Index)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">Index</span></td>
        <td><p>index of required child</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.IGeoObject.html">IGeoObject</a></td>
        <td><p>this child</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Clone.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L263">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Clone_" data-uid="CADability.GeoObject.IGeoObject.Clone*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Clone" data-uid="CADability.GeoObject.IGeoObject.Clone">Clone()</h4>
  <div class="markdown level1 summary"><p>Clones this GeoObject.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IGeoObject Clone()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.IGeoObject.html">IGeoObject</a></td>
        <td><p>the cloned GeoObject</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_CopyAttributes_CADability_GeoObject_IGeoObject_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.CopyAttributes(CADability.GeoObject.IGeoObject)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L296">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_CopyAttributes_" data-uid="CADability.GeoObject.IGeoObject.CopyAttributes*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_CopyAttributes_CADability_GeoObject_IGeoObject_" data-uid="CADability.GeoObject.IGeoObject.CopyAttributes(CADability.GeoObject.IGeoObject)">CopyAttributes(IGeoObject)</h4>
  <div class="markdown level1 summary"><p>Copies the attributes from the given GeoObject to this GeoObject. The geometry remains unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void CopyAttributes(IGeoObject ToCopyFrom)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.IGeoObject.html">IGeoObject</a></td>
        <td><span class="parametername">ToCopyFrom</span></td>
        <td><p>GeoObject to copy from</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_CopyGeometry_CADability_GeoObject_IGeoObject_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.CopyGeometry(CADability.GeoObject.IGeoObject)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L291">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_CopyGeometry_" data-uid="CADability.GeoObject.IGeoObject.CopyGeometry*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_CopyGeometry_CADability_GeoObject_IGeoObject_" data-uid="CADability.GeoObject.IGeoObject.CopyGeometry(CADability.GeoObject.IGeoObject)">CopyGeometry(IGeoObject)</h4>
  <div class="markdown level1 summary"><p>Copies the geometrical aspects of the given GeoObject to this GeoObject. Both objects
must be of the same type. The attributes are not copied.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void CopyGeometry(IGeoObject ToCopyFrom)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.IGeoObject.html">IGeoObject</a></td>
        <td><span class="parametername">ToCopyFrom</span></td>
        <td><p>GeoObject to copy from</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Decompose.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Decompose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L462">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Decompose_" data-uid="CADability.GeoObject.IGeoObject.Decompose*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Decompose" data-uid="CADability.GeoObject.IGeoObject.Decompose">Decompose()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoObjectList Decompose()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.GeoObjectList.html">GeoObjectList</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_FindSnapPoint_CADability_GeoObject_SnapPointFinder_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.FindSnapPoint(CADability.GeoObject.SnapPointFinder)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L416">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_FindSnapPoint_" data-uid="CADability.GeoObject.IGeoObject.FindSnapPoint*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_FindSnapPoint_CADability_GeoObject_SnapPointFinder_" data-uid="CADability.GeoObject.IGeoObject.FindSnapPoint(CADability.GeoObject.SnapPointFinder)">FindSnapPoint(SnapPointFinder)</h4>
  <div class="markdown level1 summary"><p>Asks the object to enumerate all its possible snap points according to the
required modes defined by the parameter.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void FindSnapPoint(SnapPointFinder spf)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.SnapPointFinder.html">SnapPointFinder</a></td>
        <td><span class="parametername">spf</span></td>
        <td><p>definition and collection of snap points</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_GetAttributeProperties_CADability_IFrame_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.GetAttributeProperties(CADability.IFrame)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L322">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_GetAttributeProperties_" data-uid="CADability.GeoObject.IGeoObject.GetAttributeProperties*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_GetAttributeProperties_CADability_IFrame_" data-uid="CADability.GeoObject.IGeoObject.GetAttributeProperties(CADability.IFrame)">GetAttributeProperties(IFrame)</h4>
  <div class="markdown level1 summary"><p>Gets a list of <a class="xref" href="CADability.UserInterface.IShowProperty.html">IShowProperty</a> objects that represent the non geometric
properties of this geoobject. This list will be used during construct actions (e.g.
when interactively drawing that object) to display properties like color or layer.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IShowProperty[] GetAttributeProperties(IFrame Frame)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IFrame.html">IFrame</a></td>
        <td><span class="parametername">Frame</span></td>
        <td><p>IFrame reference used to check settings</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UserInterface.IShowProperty.html">IShowProperty</a>[]</td>
        <td><p>list of properties</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_GetBoundingCube.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.GetBoundingCube%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L329">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_GetBoundingCube_" data-uid="CADability.GeoObject.IGeoObject.GetBoundingCube*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_GetBoundingCube" data-uid="CADability.GeoObject.IGeoObject.GetBoundingCube">GetBoundingCube()</h4>
  <div class="markdown level1 summary"><p>Returns a bounding cube of the object. The object must fir into this cube.
There may be a smaller cube that contains the object if it is to expensive to
calculate the exact cube.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">BoundingCube GetBoundingCube()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><p>the bounding cube</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_GetExtent_CADability_Projection_CADability_GeoObject_ExtentPrecision_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.GetExtent(CADability.Projection%2CCADability.GeoObject.ExtentPrecision)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L452">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_GetExtent_" data-uid="CADability.GeoObject.IGeoObject.GetExtent*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_GetExtent_CADability_Projection_CADability_GeoObject_ExtentPrecision_" data-uid="CADability.GeoObject.IGeoObject.GetExtent(CADability.Projection,CADability.GeoObject.ExtentPrecision)">GetExtent(Projection, ExtentPrecision)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">BoundingRect GetExtent(Projection projection, ExtentPrecision extentPrecision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Projection.html">Projection</a></td>
        <td><span class="parametername">projection</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ExtentPrecision.html">ExtentPrecision</a></td>
        <td><span class="parametername">extentPrecision</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_GetNamedAttribute_System_String_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.GetNamedAttribute(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L388">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_GetNamedAttribute_" data-uid="CADability.GeoObject.IGeoObject.GetNamedAttribute*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_GetNamedAttribute_System_String_" data-uid="CADability.GeoObject.IGeoObject.GetNamedAttribute(System.String)">GetNamedAttribute(String)</h4>
  <div class="markdown level1 summary"><p>Gets an attribut from the GeoObject. There are the following types (keys) of attributes
predefined in CADability, which can be set with this method:</p>
<p>Other attributes may be provided by the user.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">INamedAttribute GetNamedAttribute(string key)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>key or typename of the required attribute</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.INamedAttribute.html">INamedAttribute</a></td>
        <td><p>the attribute or null, if there is no such attribute</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_GetQuadTreeItem_CADability_Projection_CADability_GeoObject_ExtentPrecision_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.GetQuadTreeItem(CADability.Projection%2CCADability.GeoObject.ExtentPrecision)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L453">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_GetQuadTreeItem_" data-uid="CADability.GeoObject.IGeoObject.GetQuadTreeItem*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_GetQuadTreeItem_CADability_Projection_CADability_GeoObject_ExtentPrecision_" data-uid="CADability.GeoObject.IGeoObject.GetQuadTreeItem(CADability.Projection,CADability.GeoObject.ExtentPrecision)">GetQuadTreeItem(Projection, ExtentPrecision)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IQuadTreeInsertableZ GetQuadTreeItem(Projection projection, ExtentPrecision extentPrecision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Projection.html">Projection</a></td>
        <td><span class="parametername">projection</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ExtentPrecision.html">ExtentPrecision</a></td>
        <td><span class="parametername">extentPrecision</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.IQuadTreeInsertableZ.html">IQuadTreeInsertableZ</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_GetShowProperties_CADability_IFrame_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.GetShowProperties(CADability.IFrame)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L314">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_GetShowProperties_" data-uid="CADability.GeoObject.IGeoObject.GetShowProperties*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_GetShowProperties_CADability_IFrame_" data-uid="CADability.GeoObject.IGeoObject.GetShowProperties(CADability.IFrame)">GetShowProperties(IFrame)</h4>
  <div class="markdown level1 summary"><p>Gets a <a class="xref" href="CADability.UserInterface.IShowProperty.html">IShowProperty</a> object that represents the properties of
this geoobject. The result will be used to display the properties in the
control center.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IShowProperty GetShowProperties(IFrame Frame)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IFrame.html">IFrame</a></td>
        <td><span class="parametername">Frame</span></td>
        <td><p>IFrame reference used to check settings</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UserInterface.IShowProperty.html">IShowProperty</a></td>
        <td><p>properties</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_HasChildren.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.HasChildren%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L269">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_HasChildren_" data-uid="CADability.GeoObject.IGeoObject.HasChildren*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_HasChildren" data-uid="CADability.GeoObject.IGeoObject.HasChildren">HasChildren()</h4>
  <div class="markdown level1 summary"><p>Determins whether this GeoObject has child objects. E.g. <a class="xref" href="CADability.GeoObject.Block.html">Block</a> objects have children.
This is necessary when the child objects have different Layers</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool HasChildren()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_HasValidData.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.HasValidData%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L423">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_HasValidData_" data-uid="CADability.GeoObject.IGeoObject.HasValidData*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_HasValidData" data-uid="CADability.GeoObject.IGeoObject.HasValidData">HasValidData()</h4>
  <div class="markdown level1 summary"><p>Determins whether the GeoObject has valid data (e.g. to be added to a model).
E.g. a line where the startpoint is identical to the endpoint or a circle with
radius &lt;=0.0 is considered invalid.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool HasValidData()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true, if valid, false otherwise</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_IsAttributeUsed_System_Object_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.IsAttributeUsed(System.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L354">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_IsAttributeUsed_" data-uid="CADability.GeoObject.IGeoObject.IsAttributeUsed*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_IsAttributeUsed_System_Object_" data-uid="CADability.GeoObject.IGeoObject.IsAttributeUsed(System.Object)">IsAttributeUsed(Object)</h4>
  <div class="markdown level1 summary"><p>Returns true if this object uses the attribute in the parameter.
Attributes may be CADability objects like <a class="xref" href="CADability.Attribute.Layer.html">Layer</a> etc.
or any user defined objects.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsAttributeUsed(object Attribute)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><span class="parametername">Attribute</span></td>
        <td><p>attribut to check</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true if used by this GeoObject</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_Modify_CADability_ModOp_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.Modify(CADability.ModOp)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L258">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_Modify_" data-uid="CADability.GeoObject.IGeoObject.Modify*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_Modify_CADability_ModOp_" data-uid="CADability.GeoObject.IGeoObject.Modify(CADability.ModOp)">Modify(ModOp)</h4>
  <div class="markdown level1 summary"><p>Modifies this GeoObject with the given <a class="xref" href="CADability.ModOp.html">ModOp</a>
(includes moving, rotating, reflecting, scaling etc.).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Modify(ModOp m)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.ModOp.html">ModOp</a></td>
        <td><span class="parametername">m</span></td>
        <td><p>Operation to be applied</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_ModifyWithMouse_System_Object_System_String_System_Boolean_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.ModifyWithMouse(System.Object%2CSystem.String%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L410">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_ModifyWithMouse_" data-uid="CADability.GeoObject.IGeoObject.ModifyWithMouse*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_ModifyWithMouse_System_Object_System_String_System_Boolean_" data-uid="CADability.GeoObject.IGeoObject.ModifyWithMouse(System.Object,System.String,System.Boolean)">ModifyWithMouse(Object, String, Boolean)</h4>
  <div class="markdown level1 summary"><p>Notifies about the begin and end of a modification with the mouse</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool ModifyWithMouse(object sender, string propertyName, bool startModify)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><span class="parametername">sender</span></td>
        <td><p>the causer</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">propertyName</span></td>
        <td><p>name of the property beeing changed</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">startModify</span></td>
        <td><p>true: beginning, false: ending</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_PaintTo3D_CADability_IPaintTo3D_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.PaintTo3D(CADability.IPaintTo3D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L439">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_PaintTo3D_" data-uid="CADability.GeoObject.IGeoObject.PaintTo3D*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_PaintTo3D_CADability_IPaintTo3D_" data-uid="CADability.GeoObject.IGeoObject.PaintTo3D(CADability.IPaintTo3D)">PaintTo3D(IPaintTo3D)</h4>
  <div class="markdown level1 summary"><p>Paint the object to the 3D display machine and returns a (possibly cached) displaylist</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void PaintTo3D(IPaintTo3D paintTo3D)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IPaintTo3D.html">IPaintTo3D</a></td>
        <td><span class="parametername">paintTo3D</span></td>
        <td><p>where to paint</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_PaintTo3DList_CADability_IPaintTo3D_CADability_GeoObject_ICategorizedDislayLists_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.PaintTo3DList(CADability.IPaintTo3D%2CCADability.GeoObject.ICategorizedDislayLists)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L440">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_PaintTo3DList_" data-uid="CADability.GeoObject.IGeoObject.PaintTo3DList*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_PaintTo3DList_CADability_IPaintTo3D_CADability_GeoObject_ICategorizedDislayLists_" data-uid="CADability.GeoObject.IGeoObject.PaintTo3DList(CADability.IPaintTo3D,CADability.GeoObject.ICategorizedDislayLists)">PaintTo3DList(IPaintTo3D, ICategorizedDislayLists)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void PaintTo3DList(IPaintTo3D paintTo3D, ICategorizedDislayLists lists)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IPaintTo3D.html">IPaintTo3D</a></td>
        <td><span class="parametername">paintTo3D</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICategorizedDislayLists.html">ICategorizedDislayLists</a></td>
        <td><span class="parametername">lists</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_PrePaintTo3D_CADability_IPaintTo3D_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.PrePaintTo3D(CADability.IPaintTo3D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L433">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_PrePaintTo3D_" data-uid="CADability.GeoObject.IGeoObject.PrePaintTo3D*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_PrePaintTo3D_CADability_IPaintTo3D_" data-uid="CADability.GeoObject.IGeoObject.PrePaintTo3D(CADability.IPaintTo3D)">PrePaintTo3D(IPaintTo3D)</h4>
  <div class="markdown level1 summary"><p>Called before PaintTo3D, not collected in the DisplayList</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void PrePaintTo3D(IPaintTo3D paintTo3D)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IPaintTo3D.html">IPaintTo3D</a></td>
        <td><span class="parametername">paintTo3D</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_PrepareDisplayList_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.PrepareDisplayList(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L449">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_PrepareDisplayList_" data-uid="CADability.GeoObject.IGeoObject.PrepareDisplayList*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_PrepareDisplayList_System_Double_" data-uid="CADability.GeoObject.IGeoObject.PrepareDisplayList(System.Double)">PrepareDisplayList(Double)</h4>
  <div class="markdown level1 summary"><p>This method will be called from a background thread when a higher precision
displaylist is needed. The object should do all the necessary calculation
to produce a display list with the required precision. The display list
will later be acquired by a call to PaintTo3DList (or PaintTo3D) from the main thred
because the display dirvers are not multithread enabled.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void PrepareDisplayList(double precision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td><p>The required precision</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_PropagateAttributes_CADability_Attribute_Layer_CADability_Attribute_ColorDef_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.PropagateAttributes(CADability.Attribute.Layer%2CCADability.Attribute.ColorDef)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L461">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_PropagateAttributes_" data-uid="CADability.GeoObject.IGeoObject.PropagateAttributes*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_PropagateAttributes_CADability_Attribute_Layer_CADability_Attribute_ColorDef_" data-uid="CADability.GeoObject.IGeoObject.PropagateAttributes(CADability.Attribute.Layer,CADability.Attribute.ColorDef)">PropagateAttributes(Layer, ColorDef)</h4>
  <div class="markdown level1 summary"><p>Propagates the layer and color from the owner (usually a <a class="xref" href="CADability.GeoObject.BlockRef.html">BlockRef</a>) to this object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void PropagateAttributes(Layer layer, ColorDef colorDef)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Attribute.Layer.html">Layer</a></td>
        <td><span class="parametername">layer</span></td>
        <td><p>The layer</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.Attribute.ColorDef.html">ColorDef</a></td>
        <td><span class="parametername">colorDef</span></td>
        <td><p>The color</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_SetNamedAttribute_System_String_CADability_INamedAttribute_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.SetNamedAttribute(System.String%2CCADability.INamedAttribute)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L371">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_SetNamedAttribute_" data-uid="CADability.GeoObject.IGeoObject.SetNamedAttribute*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_SetNamedAttribute_System_String_CADability_INamedAttribute_" data-uid="CADability.GeoObject.IGeoObject.SetNamedAttribute(System.String,CADability.INamedAttribute)">SetNamedAttribute(String, INamedAttribute)</h4>
  <div class="markdown level1 summary"><p>Sets an attribut to the GeoObject. There are the following types (keys) of attributes
predefined in CADability, which can be set with this method:</p>
<p>Other attributes may be provided by the user.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void SetNamedAttribute(string key, INamedAttribute toSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>key or typename of attribute to set</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.INamedAttribute.html">INamedAttribute</a></td>
        <td><span class="parametername">toSet</span></td>
        <td><p>attribute</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_UpdateAttributes_CADability_Attribute_IAttributeListContainer_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.UpdateAttributes(CADability.Attribute.IAttributeListContainer)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L341">View Source</a>
  </span>
  <a id="CADability_GeoObject_IGeoObject_UpdateAttributes_" data-uid="CADability.GeoObject.IGeoObject.UpdateAttributes*"></a>
  <h4 id="CADability_GeoObject_IGeoObject_UpdateAttributes_CADability_Attribute_IAttributeListContainer_" data-uid="CADability.GeoObject.IGeoObject.UpdateAttributes(CADability.Attribute.IAttributeListContainer)">UpdateAttributes(IAttributeListContainer)</h4>
  <div class="markdown level1 summary"><p>When an IGeoObject changes the context that contains the lists of attributes
it must replace its attributes by those given in the new context. If there are
no appropriate attributes in the new context, these attributes must be included
int this new context. This happens when drag and drop operations are executed
or when a model is copied from one project to another project.
<a class="xref" href="CADability.GeoObject.IGeoObjectImpl.html">IGeoObjectImpl</a> contains a complete implementation regarding
the attributes <a class="xref" href="CADability.Attribute.Style.html">Style</a>, <a class="xref" href="CADability.Attribute.Layer.html">Layer</a>, <a class="xref" href="CADability.Attribute.ColorDef.html">ColorDef</a>,
<a class="xref" href="CADability.Attribute.LineWidth.html">LineWidth</a>, <a class="xref" href="CADability.Attribute.LinePattern.html">LinePattern</a>, <a class="xref" href="CADability.Attribute.HatchStyle.html">HatchStyle</a> and <a class="xref" href="CADability.Attribute.DimensionStyle.html">DimensionStyle</a></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void UpdateAttributes(IAttributeListContainer alc)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Attribute.IAttributeListContainer.html">IAttributeListContainer</a></td>
        <td><span class="parametername">alc</span></td>
        <td><p>The context, usually a Project which contains the attribute lists</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="events">Events
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_DidChangeEvent.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.DidChangeEvent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L306">View Source</a>
  </span>
  <h4 id="CADability_GeoObject_IGeoObject_DidChangeEvent" data-uid="CADability.GeoObject.IGeoObject.DidChangeEvent">DidChangeEvent</h4>
  <div class="markdown level1 summary"><p>Event that must be provided by each GeoObject. This event will be fired when
the GeoObject did change (either geometrical aspects or attributes).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">event ChangeDelegate DidChangeEvent</code></pre>
  </div>
  <h5 class="eventType">Event Type</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ChangeDelegate.html">ChangeDelegate</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject_WillChangeEvent.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject.WillChangeEvent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L301">View Source</a>
  </span>
  <h4 id="CADability_GeoObject_IGeoObject_WillChangeEvent" data-uid="CADability.GeoObject.IGeoObject.WillChangeEvent">WillChangeEvent</h4>
  <div class="markdown level1 summary"><p>Event that must be provided by each GeoObject. This event will be fired when
the GeoObject is about to change (either geometrical aspects or attributes).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">event ChangeDelegate WillChangeEvent</code></pre>
  </div>
  <h5 class="eventType">Event Type</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ChangeDelegate.html">ChangeDelegate</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_IGeoObject.md&amp;value=---%0Auid%3A%20CADability.GeoObject.IGeoObject%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/GeoObject.cs/#L251" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
